@mamba/utils
O pacote @mamba/utils
contém métodos úteis para facilitar o desenvolvimento de aplicativos Mamba.
UI
import * as UI from '@mamba/utils/ui.js';
timeout(delay: Number): Promise
UI.timeout()
move a execução do script para o final da pilha de execução. É uma simples abstração de um setTimeout
que retorna uma Promise
.
import { timeout } from '@mamba/utils/ui.js';
function init() {
console.log('Log imediato');
timeout(300).then(() => {
console.log('Log após 300ms');
});
}
init();
Com isso, é possível utilizar async/await
para facilitar a leitura de alguns métodos:
import { timeout } from '@mamba/utils/ui.js';
async function init() {
console.log('Log imediato');
await timeout(300);
console.log('Log após 300ms');
}
init();
Money
import * as Money from '@mamba/utils/money.js';
format(value: Number): string
Money.format()
formata um valor númerico para um formato de dinheiro:
import { format } from '@mamba/utils/money.js';
format(100);
format(1000);
format(100000);
format(1000000.27);
padZero(value: Number | string): string
Money.padZero()
adiciona um 0
para valores numéricos menores que 10
or strings de tamanho 1
.
import { padZero } from '@mamba/utils/money.js';
padZero(1);
padZero('2');
padZero(17);
padZero('230');
Arredondando
-
round(value: Number): Number
-
ceil(value: Number): Number
-
floor(value: Number): Number
Money.round()
, Money.ceil()
, Money.floor()
são similares aos métodos Math.*
de mesmo nome. A principal diferença é que lidam com alguns erros de arrendondamento da linguagem e levam em conta o valor decimal.
import { round, ceil, floor } from '@mamba/utils/money.js';
Math.round(1.005);
round(1.005);
Math.floor(127.77 / 10);
floor(127.77 / 10);
Math.ceil(127.77 / 10);
ceil(127.77 / 10);
Date
import * as DateUtils from '@mamba/utils/date.js';
format(date: Date, mask: string): string
DateUtils.format()
recebe um objeto Date
retorna a data formatada de acordo com a string
de máscara passada.
Os tokens
suportados são:
- d - dia: 1..31
- dd - dia: 01..31
- m - mês: 1..12
- mm - mês: 01..12
- yy - ano: 01..99
- yyyy - ano: 2001..2099
- h - hora: 0..12
- hh - hora: 00..12
- H - hora: 0..23
- HH - hora: 00..23
- M - minuto: 0..59
- MM - minuto: 00..59
- s - segundo: 0..59
- ss - segundo: 00..59
import { format } from '@mamba/utils/date.js';
format(new Date(2019, 1, 20), 'dd/mm/yyyy'))
format(new Date(2019, 1, 20, 20, 30, 55), 'HH:MM:ss'))